/**
 * 
 */
package br.com.consultsystems.negocio.impl.cadastro;

import java.util.Date;
import java.util.List;

import javax.ejb.EJB;
import javax.ejb.Stateless;

import br.com.consultsystems.dominio.cadastro.Pessoa;
import br.com.consultsystems.negocio.spec.cadastro.PessoaNegocio;
import br.com.consultsystems.persistencia.spec.cadastro.PessoaPersistencia;

/**
 * @author Moralles
 *
 */
@Stateless(name = "pessoaNegocio")
public class PessoaNegocioImpl implements PessoaNegocio {

	@EJB
	private PessoaPersistencia pessoaPersistencia;
	
	@Override
	public Pessoa merge(Pessoa t) throws Exception {

		if(t.getId() == null || t.getId() <= 0) {
			t.setDataCadastro(new Date());
		}
		return pessoaPersistencia.merge(t);
	}

	@Override
	public Pessoa retrieve(Long id) throws Exception {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public void remove(Pessoa t) throws Exception {
		t = this.merge(t);
		pessoaPersistencia.remove(t);
	}

	@Override
	public void refresh(Pessoa t) throws Exception {
		pessoaPersistencia.refresh(t);
	}

	@Override
	public List<Pessoa> retrieveByFilter(String nome) throws Exception {
		return pessoaPersistencia.retrieveByFilter(nome);
	}

	@Override
	public List<Pessoa> retrieveAll() throws Exception {
		// TODO Auto-generated method stub
		return null;
	}

	
}
